#ifdef _WIN32
#ifndef STRAY_GRAPHICS_COMMAND_LIST_DX9_H
#define STRAY_GRAPHICS_COMMAND_LIST_DX9_H

#include "../../Container/List.h"
#include "../../Misc/Bind.h"
#include "../CommandList.h"


namespace Stray {
namespace Core {
namespace Graphics {
namespace DirectX9 {

class CommandListDX9 : public Stray::Core::Graphics::CommandList
{
	friend class ContextDX9;
	friend class DeferredContextDX9;
	typedef Stray::List<Stray::Delegate<void (ContextDX9*)>::type>::type ComList;
public:
	~CommandListDX9(){};

	void* getNativeHandle() const
	{
		return const_cast<ComList*>(&list_);
	}
private:
	ComList list_;
};

typedef Stray::IntrusivePtr<CommandListDX9>::type CommandListDX9Ptr;

}
}
}
}

#endif
#endif